IF exists(SELECT * FROM dbo.sysobjects WHERE name='r_XMLMaandrapportCommentaar' AND xtype='P') 
BEGIN
	DROP PROCEDURE r_XMLMaandrapportCommentaar
END
GO

CREATE       procedure r_XMLMaandrapportCommentaar(@iNr varchar(7), @jaar int)
as
set nocount on

set @iNr = isNull(@iNr,'')
set @jaar = isNull(@jaar,0)

declare @achternaam varchar(50)
declare @voornaam varchar(50)
declare @klas varchar(5)

set @achternaam = ''
set @voornaam = ''
set @klas = ''
select @achternaam = isNull(achternaam,''), 
	@voornaam = isNull(voornaam,'') ,
	@klas = isNull(klas ,'')
from leerlingen..leerlingen 
where inschrijvingsnr = @iNr

create table #tussen( tekst varchar(8000))
create table #vakken(volgNummer char(2),vakcode varchar(2),vakNaam varchar(50))
create table #groepen(groepscode varchar(5))

-- De vakken worden ingevuld:


insert into #vakken(volgNummer,vakcode,vaknaam)
select distinct volgnummer,vakcode,vaknaam
  from leraars.dbo.alleIndividueleVakcodes(@iNr)
  order by volgnummer

insert into #tussen(tekst)
values('<?xml version="1.0"  encoding="ISO-8859-1" ?>')

-- De juiste stijl-pagina wordt aan de XML-pagina gelinkt.
insert into #tussen(tekst)
values('<?xml-stylesheet type="text/xsl" href="maandrapComment.xsl" ?>')

insert into #tussen(tekst)
values('<commentaar>')

insert into #tussen(tekst)
values('<hoofding><titel>' + @voornaam + ' ' + @achternaam + ' maandresultaten</titel>')

insert into #tussen(tekst)
values('<leerling>' + @voornaam + ' ' + @achternaam + ' </leerling>')

insert into #tussen(tekst)
values('<periode>Commentaar maandresultaten ' 
	+ ' - Schooljaar ' + convert(varchar(4),@jaar) + ' - ' +
	+ convert(varchar(4),@jaar + 1) + '</periode>')
insert into #tussen(tekst)
values('</hoofding>')

insert into #tussen(tekst)
values('<vakken>')

-- De vakresultaten van de leerling worden ingevoegd
insert into #tussen(tekst)
  select '<vak naam="' + v.vakcode + '">' 
       + '<periode nr="1"> ' + isNull(convert(varchar(8000),c1.tekst),'') + '</periode>'
       + '<periode nr="2"> ' + isNull(convert(varchar(8000),c2.tekst),'') + '</periode>'
       + '<periode nr="3"> ' + isNull(convert(varchar(8000),c3.tekst),'') + '</periode>'
       + '<periode nr="4"> ' + isNull(convert(varchar(8000),c4.tekst),'') + '</periode>'
       + '<periode nr="5"> ' + isNull(convert(varchar(8000),c5.tekst),'') + '</periode></vak>'

from #vakken as v
	left join
     	  (select tekst,vak from r_maandCommentaar 
		where (inschrijvingsNr = @iNr) and 
	      	(periode = '1')) as c1
	on v.vakcode = c1.vak
	left join
     	  (select tekst,vak from r_maandCommentaar 
		where (inschrijvingsNr = @iNr) and 
	      	(periode = '2')) as c2
	on v.vakcode = c2.vak
	left join
     	  (select tekst,vak from r_maandCommentaar 
		where (inschrijvingsNr = @iNr) and 
	      	(periode = '3')) as c3
	on v.vakcode = c3.vak
	left join
     	  (select tekst,vak from r_maandCommentaar 
		where (inschrijvingsNr = @iNr) and 
	      	(periode = '4')) as c4
	on v.vakcode = c4.vak
	left join
     	  (select tekst,vak from r_maandCommentaar 
		where (inschrijvingsNr = @iNr) and 
	      	(periode = '5')) as c5
	on v.vakcode = c5.vak
where not((c1.tekst is null) 
		and (c2.tekst is null) 
		and (c3.tekst is null)
		and (c4.tekst is null) 
		and (c5.tekst is null)	)
order by v.volgNummer

-- Afsluiting
  insert into #tussen(tekst)
  values('</vakken></commentaar>')
  
select * from #tussen